<?php
class SitesController extends AppController
{
   var  $name='Sites';
   var $layout='admin';
   var $uses = array('Site','Type');
   var $helpers = array('Form','Html','Javascript','Paginator');
   var $components = array('Auth');
   
   function beforeFilter()
   {
        $this->userScope = array('admin_leve'=>1);
        $this->authorize = 'controller';
        $this->Auth->loginError = '未能登录成功,密码或帐号错误';
        $this->Auth->authError='还未登录或者你没有管理员权限';
    }
    
    function isAuthorized()
    {
           if($this->Auth->user('admin_leve')>0)
            return true;
        else
            return false;
    }
   
   /**
   *获得一个分类的网址列表
   *@param $type_id 分类的id值
   *@return 无返回值 
   */
    function admin_index($type_id=0,$page=1)
    {
        $this->Session->write('curSitePage',array('type_id'=> $type_id, 'page'=>$page));
        if(empty($type_id)){
            $this->paginate=array(
            'page' => $page,
            'limit' =>25,
            'order' => array('Site.modified' =>  'desc')
            );
        }else{
            $this->paginate = array(
            'conditions' => array('type_id' => $type_id),
            'page' => $page,
            'limit' => 25,
            'order' => array('Site.modified' => 'desc')
            );
        }
        $this->set('curtid',$type_id);
        $this->pageTitle='内容管理:网址信息列表';
        $sitelist = $this -> paginate('Site');
        $typeTree = $this->Type->generatetreelist(null,null,null,'---');
        $this->set('tt',$typeTree);
        $this->set('sitelist',$sitelist);
    }
    
    //编辑网址信息
    function admin_edit($id=null)
    {
        $oldurl=$this->Session->read('curSitePage');
        if(!$oldurl) 
            $oldurl='index';
        else
            $oldurl="index/{$oldurl['type_id']}/{$oldurl['page']}";
        if(!empty($this->data)){
            if($this->Site ->save($this->data)){
                $this -> flash("网址信息修改成功。",$oldurl,5);
                return;
            }
        }else{
            if(empty($id)){
                $this -> flash('请选择要编辑的网址信息',$oldurl,5);
                return;
             }
             $this->data = $this -> Site ->read(null,$id);
             if(empty($this -> data))
                $this -> flash('所选择的网址信息并不存在',$oldurl,5);
        }
    }
    
    //添加网址信息
    function admin_add($tid=0)
    {
        if(!empty($this->data)){
            $this->Site->create();
            if($this->Site->save($this->data))
                $this->flash('添加网址信息成功。',"index/{$this->data['Site']['type_id']}",5);
        }else{
            if($tid==0 or $tid == 'undefined' or !$this->Type->findById($tid)){
                 $this->flash('请为要添加的网址选择一个已存在的分类','index',5);
                 return;
              }
        }
        if(empty($this->data['Site']['type_id']))
            $this->data['Site']['type_id']=$tid;
        $this->pageTitle='添加网址信息';
    }
    
    //删除一个网址信息
    function admin_del($id)
    {
        $oldurl=$this->Session->read('curSitePage');
        if(!$oldurl){ 
            $oldurl='index';
            $curType=0;
       }else{
            $curType=$oldurl['type_id'];
            $oldurl="index/{$oldurl['type_id']}/{$oldurl['page']}";
       }
        if(empty($id) or !is_numeric($id)){
            $this->flash('请指定要删除的网址信息',$oldurl);
            return;
        }
        if($this->Site->del($id)){
            $this->flash('删除成功','index/'.$curType);
            return;
         }else{
            $this->flash('未能删除成功',$oldurl);
            return;
          }
    }
    
    //删除一系列网址
    function admin_delm($ids)
    {
        $oldurl=$this->Session->read('curSitePage');
        if(!$oldurl){ 
            $oldurl='index';
            $curtype='';
       }else{
            $curtype=$oldurl['type_id'];
            $oldurl="index/{$oldurl['type_id']}/{$oldurl['page']}";
        }
        if(empty($ids) or !is_string($ids)){
            $this->flash('请选择要删除的网址id',$oldurl,5);
            return;
        }
        $idarr=explode(',',$ids);
        if($this->Site->deleteAll(array('id' => $idarr))){
            $this->flash('成功删除多个网址',"index/{$curtype}",5);
            return;
        }
    }
    
    function admin_moveto($idstr,$tid=0)
    {
        $oldurl=$this->Session->read('curSitePage');
        if(!$oldurl) 
            $oldurl='index';
        else
            $oldurl="index/{$oldurl['type_id']}/{$oldurl['page']}";
        if($idstr=='undefined'){
            $this->flash('请选择要移动的网址信息',$oldurl,5);
            return;
        }
        if($tid==0 or $tid=='undefined'){
            $this->flash('请选择要移动到的分类',$oldurl,5);
            return;
         }
        if(!$this->Type->findById($tid)){
            $this->flash('要移动到的目标分类并不存在',$oldurl,5);
            return;
        }
        $idarr=explode(',',$idstr);
        if($this->Site->updateAll(array('type_id' => $tid),array('id' => $idarr)));
            $this->flash('转移成功','index/'.$tid,5);
    }
}
?>